#!/usr/bin/env python
# -- coding: utf-8 --
# author：马海晨
# time:2025/4/26
import pytest
import os
import time
from pathlib import Path

if __name__ == '__main__':
    # 1. 确保报告目录存在
    report_dir = Path("./allure-results")  # 推荐标准目录名
    report_dir.mkdir(exist_ok=True)

    # 2. 运行测试（添加--clean-alluredir自动清理旧数据）
    exit_code = pytest.main(["--alluredir=./allure-results", "--clean-alluredir"])

    # 3. 等待测试完全结束（增加等待时间）
    time.sleep(5)

    # 4. 生成HTML报告（使用绝对路径更可靠）
    if exit_code == 0:  # 仅在测试成功时生成报告
        os.system(f"allure generate {report_dir} -o ./reports --clean")
        print("Allure报告已生成至 ./reports 目录")
    else:
        print("测试失败，未生成报告")